การลบไฟล์อัตโนมัติด้วย S3
ครั้งนี้ จะมาแนะนำวิธีการลบไฟล์อัตโนมัติด้วย S3 ในขั้นตอนง่ายๆ ที่จะทำให้คุณสามารถตั้งค่าการลบไฟล์ตามระยะเวลาที่ต้องการได้ด้วยตนเอง
ข้อกำหนดเบื้องต้น
※สำหรับผู้ใช้งานที่มีข้อมูลเก็บไว้ที่ S3 อยู่แล้ว ถ้าต้องการลบไฟล์โดยอัตโนมัติ ให้ข้ามไปที่ขั้นตอน การลบไฟล์อัตโนมัติด้วย S3 ได้เลย
※สำหรับผู้ที่ยังไม่มีไฟล์อยู่ใน S3 แต่ต้องการเรียนรู้วิธีการลบไฟล์อัตโนมัติด้วย S3 ต้องเตรียมไฟล์ที่จะอัปโหลดลงใน S3 โดยจะใช้เป็นไฟล์อะไรก็ได้
ในตัวอย่างนี้จะใช้เป็นไฟล์sample.pdf
สามารถดาวน์โหลดได้ที่ : A Simple PDF File
การสร้าง Bucket บน S3
ผมจะสร้าง Bucket ขึ้นมาเพื่อจัดเก็บข้อมูลที่ต้องการอัปโหลด โดยจะใช้เป็นไฟล์sample.pdf
อัปโหลดลงใน S3 Bucket ที่กำลังจะสร้างขึ้นในขั้นตอนนี้
ค้นหา?︎ S3
» เลือกS3
เมื่อเข้ามาที่หน้า Amazon S3 แล้ว มาที่เมนูด้านซ้าย เลือกBuckets
(ค่าเริ่มต้นจะเลือกเป็นBuckets
อยู่แล้ว)
มาที่หัวข้อ Buckets แล้วคลิกCreate bucket
※การตั้งค่าในหน้า Create bucket มีดังนี้
การตั้งค่า General configuration ในตัวอย่างนี้คือ
Bucket name:tinnakorn-s3-schedule-delete-file
(ใส่ชื่อของคุณ)
เลื่อนลงมาด้านล่างสุด คลิกCreate bucket
อัปโหลดไฟล์ลงใน S3 Bucket
ค้นหาชื่อ Bucket ของเรา ตัวอย่างนี้คือtinnakorn-s3-schedule-delete-file
จากนั้นคลิกที่tinnakorn-s3-schedule-delete-file
เมื่อเข้ามาที่ Bucket ของเราแล้ว จะมีหน้าตาแบบนี้
※การอัปโหลดไฟล์ลงใน S3 Bucket สามารถทำได้ 2 วิธีดังนี้
- 1. อัปโหลดไฟล์โดยการลากไฟล์ลงมาที่ช่อง Objects
คลิกที่ไฟล์ที่ต้องการอัปโหลดค้างไว้ แล้วลากลงมาที่ช่อง Objects ได้เลย
- 2. อัปโหลดไฟล์โดยการ Browse files
คลิกUpload
ที่ปุ่มสีส้มหรือปุ่มสีเทาด้านล่างก็ได้
คลิกAdd files
(ถ้าเลือก Add folder จะเป็นการอัปโหลดแบบโฟลเดอร์)
เลือกไฟล์ที่ต้องการอัปโหลด ตัวอย่างนี้คือไฟล์sample.pdf
เมื่อเลือกไฟล์ที่ต้องการอัปโหลดเสร็จแล้ว คลิกUpload
เมื่อเสร็จแล้วจะมาหน้านี้ ให้คลิกClose
ได้เลย
จากนั้นก็จะมาที่หน้านี้ การอัปโหลดเสร็จสิ้นแล้ว
การลบไฟล์อัตโนมัติด้วย S3
เมื่อสร้าง Bucket และอัปโหลดข้อมูลลงใน Bucket ของเราแล้ว ให้เริ่มสร้างและตั้งค่าการลบไฟล์อัตโนมัติด้วย S3 ได้เลย
มาที่หัวข้อ Management แล้วคลิกที่Create lifecycle rule
อันไหนก็ได้
※การตั้งค่าในหน้า Create lifecycle rule มีดังนี้
การตั้งค่า Lifecycle rule configuration ในตัวอย่างนี้คือ
Lifecycle rule name:1 day delete
(ใส่ชื่อ Lifecycle rule ของคุณ)
Choose a rule scope:⚫ Apply to all objects in the bucket
Check✅ I acknowledge that this rule will apply to all objects in the bucket.
ในกรณีที่เลือก Limit the scope of this rule using one or more filters เป็นการเลือกลบไฟล์แบบกำหนดเองได้ เช่นถ้ามีไฟล์อยู่ในโฟลเดอร์ ก็สามารถกำหนด Path หรือที่อยู่ไฟล์ ที่ต้องการลบไฟล์ได้ เป็นต้น
การตั้งค่า Lifecycle rule actions ในตัวอย่างนี้คือ
✅ Expire current versions of objects
การตั้งค่า Expire current versions of objects ในตัวอย่างนี้คือ
Days after object creation:1
ตรวจสอบข้อมูลการตั้งค่าที่ Review transition and expiration actions
จากนั้นคลิกCreate rule
เมื่อมาหน้านี้แล้ว การสร้าง Lifecycle rule และตั้งค่าการลบไฟล์อัตโนมัติด้วย S3 นั้น เสร็จสมบูรณ์ จากนั้นรอจนครบ 1 วัน ไฟล์ใน Bucket ของเราก็จะถูกลบไปโดยอัตโนมัติ
สรุป
บทความนี้เราได้แสดงวิธีการลบไฟล์อัตโนมัติด้วย S3 เรียบร้อยแล้ว โดยสามารถนำไปประยุกต์ใช้ต่อในอนาคตได้ตามต้องการและตามความเหมาะสมของงาน การตั้งค่านี้อำนวยความสะดวกให้เราได้ เมื่อเราต้องการลบข้อมูลในระยะเวลาที่กำหนด เราไม่ต้องมานั่งนับวันรอที่จะต้องมาลบข้อมูลด้วยตัวเอง แต่สามารถตั้งค่าจาก Management ใน S3 Bucket ของเราได้เลย
นอกจากนี้ เมื่อใช้งานร่วมกับการเผยแพร่ทางเว็บโดยใช้ S3 คุณสามารถสร้างเว็บไซต์ที่สามารถดาวน์โหลดไฟล์ในช่วงระยะเวลาหนึ่งได้อย่างง่ายดาย
บทความที่เกี่ยวข้อง
- Amazon S3 คืออะไร? การแนะนำฟังก์ชันล่าสุดของ AWS ในปี 2022
- How To Static Website EP2: การเก็บข้อมูลเว็บไซต์ลงบน Amazon S3 เพื่อให้ไปแสดงผลผ่าน Amazon CloudFront
- How To Static Website EP3: เปลี่ยนชื่อ Domain Name (ชื่อเว็บไซต์) ง่าย ๆ ด้วย Amazon Route 53 และ AWS Certificate Manager พร้อมสอนการสร้าง SSL